#ifndef _TB67H450_H
#define _TB67H450_H

#include "headerfile.h"
#include "main.h"

/******************************************************************************************/
//MOTOR_PIN
/* M1 */
#define M1_INA1_Pin                 GPIO_PIN_2
#define M1_INB1_Pin                 GPIO_PIN_12
#define M1_GPIO_Port                GPIOB
/* M2 */   
#define M2_INA2_Pin                 GPIO_PIN_0
#define M2_INB2_Pin                 GPIO_PIN_1
#define M2_GPIO_Port                GPIOB

#define Ain1(x)   do{ x ? \
                      HAL_GPIO_WritePin(M1_GPIO_Port, M1_INA1_Pin, GPIO_PIN_RESET) : \
                      HAL_GPIO_WritePin(M1_GPIO_Port, M1_INA1_Pin, GPIO_PIN_SET); \
                  }while(0)
#define Ain2(x)   do{ x ? \
                      HAL_GPIO_WritePin(M1_GPIO_Port, M1_INB1_Pin, GPIO_PIN_RESET) : \
                      HAL_GPIO_WritePin(M1_GPIO_Port, M1_INB1_Pin, GPIO_PIN_SET); \
                  }while(0)
#define Bin1(x)   do{ x ? \
                      HAL_GPIO_WritePin(M2_GPIO_Port, M2_INA2_Pin, GPIO_PIN_RESET) : \
                      HAL_GPIO_WritePin(M2_GPIO_Port, M2_INA2_Pin, GPIO_PIN_SET); \
                  }while(0)
#define Bin2(x)   do{ x ? \
                      HAL_GPIO_WritePin(M2_GPIO_Port, M2_INB2_Pin, GPIO_PIN_RESET) : \
                      HAL_GPIO_WritePin(M2_GPIO_Port, M2_INB2_Pin, GPIO_PIN_SET); \
                  }while(0)
/******************************************************************************************/

                  
void TB67H450_Init(void);
void Set_I(int Ia, int Ib);
void StepCtrl(u8 step);


#endif
